<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Trim (computing)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Trim_(computing)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Trim_computing rootpage-Trim_computing skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Trim (computing)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Not to be confused with <a href="Trimming_(computer_programming)" title="Trimming (computer programming)">trimming in computer programming</a>, which is about removing space characters.</div>
<p class="mw-empty-elt">
</p>
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<p>A <b>trim command</b> (known as <b>TRIM</b> in the <a href="ATA_Packet_Interface" class="mw-redirect" title="ATA Packet Interface">ATA command set</a>, and <b>UNMAP</b> in the <a href="SCSI_command" class="mw-redirect" title="SCSI command">SCSI command set</a>) allows an <a href="Operating_system" title="Operating system">operating system</a> to inform a storage medium which blocks of data are no longer considered to be "in use" and therefore can be erased internally.<sup id="cite_ref-Intel_Knowledgebase_1-0" class="reference"><a href="#cite_note-Intel_Knowledgebase-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> TRIM is primarily used on <a href="Solid-state_drive" title="Solid-state drive">solid-state drives</a> (SSDs), but is also used on some <a href="Shingled_magnetic_recording" title="Shingled magnetic recording">shingled magnetic recording</a> (SMR) hard drives.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>TRIM was introduced soon after SSDs were introduced. Because the low-level operation of SSDs differs significantly from hard drives, the conventional manner in which operating systems handle storage operations—such as deletions and formatting—resulted in unanticipated progressive performance degradation of write operations on SSDs.<sup id="cite_ref-SSD_Anthology_4_3-0" class="reference"><a href="#cite_note-SSD_Anthology_4-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Trimming enables the SSD to more efficiently handle <a href="Garbage_collection_(SSD)" class="mw-redirect" title="Garbage collection (SSD)">garbage collection</a>, which would otherwise slow future write operations to the involved blocks.<sup id="cite_ref-SSD_Anthology_10_4-0" class="reference"><a href="#cite_note-SSD_Anthology_10-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>Although tools to "reset" some drives to a fresh state were already available before the introduction of trimming, they also delete all data on the drive, which makes them impractical to use for ongoing optimization.<sup id="cite_ref-SSD_Anthology_11_5-0" class="reference"><a href="#cite_note-SSD_Anthology_11-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> As of 2010, many SSDs had internal garbage collection mechanisms for certain filesystem(s) (such as <a href="FAT32" class="mw-redirect" title="FAT32">FAT32</a>, <a href="NTFS" title="NTFS">NTFS</a>, <a href="APFS" class="mw-redirect" title="APFS">APFS</a>) that worked independently of trimming. Although this successfully maintained their lifetime and performance even under operating systems that did not support trim, it had the associated drawbacks of increased <a href="Write_amplification" title="Write amplification">write amplification</a> and wear of the flash cells.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Background">Background</h2></div>
<p>Because of the way that many <a href="File_system" title="File system">file systems</a> handle delete operations, by flagging data blocks as "not in use",<sup id="cite_ref-WindowsITPro_7-0" class="reference"><a href="#cite_note-WindowsITPro-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-SSD_Anthology_7_8-0" class="reference"><a href="#cite_note-SSD_Anthology_7-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> storage media (SSDs, but also traditional hard drives) generally do not know which sectors/pages are truly in use and which can be considered free space. Contrary to (for example) an overwrite operation, a delete will not involve a physical write to the sectors that contain the data. Since a common SSD has no knowledge of the file system structures, including the list of unused blocks/sectors, the storage medium remains unaware that the blocks have become available. While this often enables <a href="Undelete" class="mw-redirect" title="Undelete">undelete</a> tools to recover files from electromechanical <a href="Hard_disk" class="mw-redirect" title="Hard disk">hard disks</a>,<sup id="cite_ref-SSD_Anthology_7_8-1" class="reference"><a href="#cite_note-SSD_Anthology_7-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-WindowsITPro_Trim_9-0" class="reference"><a href="#cite_note-WindowsITPro_Trim-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> despite the files being reported as "deleted" by the operating system, it also means that when the operating system later performs a write operation to one of the sectors, which it considers free space, it effectively becomes an overwrite operation from the point of view of the storage medium. For magnetic disks, an overwrite of existing data is no different from writing into an empty sector, but because of how some SSDs function at the lowest level, an overwrite produces significant overhead compared with writing data into an empty page, potentially crippling write performance.<sup id="cite_ref-SSD_Anthology_7_8-2" class="reference"><a href="#cite_note-SSD_Anthology_7-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-PC_Per_Malventano_10-0" class="reference"><a href="#cite_note-PC_Per_Malventano-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</p><p>SSDs store data in flash memory cells that are grouped into pages typically of 4 to 16 <a href="Kibibyte" class="mw-redirect" title="Kibibyte">kiB</a>, grouped together into blocks of typically 128 to 512 pages. Example: 512 kiB blocks that group 128 pages of 4 kiB each.<sup id="cite_ref-WindowsITPro_7-1" class="reference"><a href="#cite_note-WindowsITPro-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-SSD_Anthology_5_11-0" class="reference"><a href="#cite_note-SSD_Anthology_5-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> <a href="Flash_memory#NAND_flash" title="Flash memory">NAND flash memory</a> cells can be directly written to only when they are empty. If they happen to contain data, the contents must be erased before a write operation. An SSD write operation can be done to a single page but, due to hardware limitations, erase commands always affect entire blocks;<sup id="cite_ref-SSD_Anthology_5_11-1" class="reference"><a href="#cite_note-SSD_Anthology_5-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> consequently, writing data to empty pages on an SSD is very fast, but slows down considerably once previously written pages need to be overwritten. Since an erase of the cells in the page is needed before it can be written to again, but only entire blocks can be erased, an overwrite will initiate a read-erase-modify-write cycle:<sup id="cite_ref-WindowsITPro_7-2" class="reference"><a href="#cite_note-WindowsITPro-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-SSD_Anthology_8_12-0" class="reference"><a href="#cite_note-SSD_Anthology_8-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> the contents of the entire block are stored in cache, then the entire block is erased from the SSD, then the overwritten page(s) is written into the cached block, and only then can the entire updated block be written to the flash medium. This phenomenon is known as <a href="Write_amplification" title="Write amplification">write amplification</a>.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Operation">Operation</h2></div>
<p>The TRIM command enables an operating system to notify the drive of pages which no longer contain valid data. For a <a href="File_deletion" title="File deletion">file deletion</a> operation, the operating system will mark the file's sectors as free for new data, then send a TRIM command to the drive. After trimming, the drive will not preserve any contents of the block when writing new data to a page of flash memory, resulting in less write amplification (fewer writes), higher write throughput (no need for a read-erase-modify sequence), thus increasing drive life.
</p><p>Different drive implement the command somewhat differently, so performance can vary.<sup id="cite_ref-SSD_Anthology_10_4-1" class="reference"><a href="#cite_note-SSD_Anthology_10-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-WindowsITPro_Trim_9-1" class="reference"><a href="#cite_note-WindowsITPro_Trim-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>
</p><p>TRIM tells the drive to mark an <a href="Logical_block_addressing" title="Logical block addressing">LBA</a> region as invalid and subsequent reads on the region will not return any meaningful data. For a very brief time, the data could still reside on the flash internally. However, after the TRIM command is issued and garbage collection has taken place, data recovery can become difficult or impossible, depending on the drive's firmware implementation of the command.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Implementation">Implementation</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Operating_system_support">Operating system support</h3></div>
<p>The TRIM command is beneficial only if the drive implements it and the operating system requests it. The table below identifies each notable operating system and the first version supporting the command. Additionally, older solid-state drives designed before the addition of the TRIM command to the ATA standard will need firmware updates, otherwise the new command will be ignored. However, not every drive can be upgraded to support trimming.
</p><p>The support for TRIM also varies by what the particular filesystem driver on the operating system is capable of, since only a program with an understanding of what parts of the disk are free space can safely issue the command, and on the system level this ability tends to lie in the filesystem driver itself.
</p>
<table class="wikitable sortable">
<tbody><tr>
<th width="15%">Operating System
</th>
<th width="15%">Supported since
</th>
<th>Notes
</th></tr>
<tr>
<td><a href="DragonFly_BSD" title="DragonFly BSD">DragonFly BSD</a>
</td>
<td><span style="display:none">2011-05</span>May 2011<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>
</td>
<td>
</td></tr>
<tr>
<td><a href="FreeBSD" title="FreeBSD">FreeBSD</a>
</td>
<td><span style="display:none">2010-07</span>8.1 – July 2010<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>
</td>
<td>Support was added at the block device layer in 8.1. Filesystem support was added in FreeBSD 8.3 and FreeBSD 9, beginning with <a href="Unix_File_System" title="Unix File System">UFS</a>.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> <a href="ZFS" title="ZFS">ZFS</a> trimming support was added in FreeBSD 9.2.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> FreeBSD 10 supports trimming on software <a href="RAID" title="RAID">RAID</a> configurations.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup>
</td></tr>
<tr>
<td><a href="NetBSD" title="NetBSD">NetBSD</a>
</td>
<td><span style="display:none">2012-10</span>October 2012<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</td>
<td>
</td></tr>
<tr>
<td><a href="Linux" title="Linux">Linux</a>
</td>
<td><span style="display:none">2008-12-25</span>2.6.28–25 December 2008<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup>
</td>
<td>Initial support for discard operations was added for FTL <a href="Flash_memory#NAND_flash" title="Flash memory">NAND flash</a> devices in 2.6.28. Support for the ATA TRIM command was added in 2.6.33.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup>
<p>Not all filesystems make use of trim. Among the filesystems that can issue trim requests automatically are <a href="Ext4" title="Ext4">ext4</a>,<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> <a href="Btrfs" title="Btrfs">Btrfs</a>,<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> <a href="File_Allocation_Table" title="File Allocation Table">FAT</a>, <a href="GFS2" title="GFS2">GFS2</a>, <a href="Journaling_file_system" title="Journaling file system">JFS</a>,<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> <a href="XFS" title="XFS">XFS</a>,<sup id="cite_ref-Filesystem_changes_in_Linux_3.0_28-0" class="reference"><a href="#cite_note-Filesystem_changes_in_Linux_3.0-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> <a href="ZFS" title="ZFS">ZFS</a>,<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> and <a href="NTFS-3G" title="NTFS-3G">NTFS-3G</a>. However, in some distributions, this is disabled by default due to performance concerns,<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> in favor of scheduled trimming on supported SSDs.<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup> <a href="Ext3" title="Ext3">Ext3</a>, <a href="NILFS2" class="mw-redirect" title="NILFS2">NILFS2</a> and <a href="OCFS2" title="OCFS2">OCFS2</a> offer <a href="Ioctl" title="Ioctl">ioctls</a> to perform offline trimming. The TRIM specification calls for supporting a list of trim ranges, but as of kernel 3.0 trim is only invoked with a single range that is slower.<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup>
</p><p>In many newer <a href="Linux_distribution" title="Linux distribution">Linux distributions</a>, <a href="Systemd" title="Systemd">systemd</a> provides <code>fstrim.timer</code> unit.<sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup> TRIM for swap partition can be enabled by <code>swapon</code> utility or <a href="Fstab" title="Fstab">fstab</a>.<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup>
</p>
</td></tr>
<tr>
<td><a href="MacOS" title="MacOS">macOS</a>
</td>
<td><span style="display:none">2011-06-23</span>10.6.8–23 June 2011<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup>
</td>
<td>Although the <a href="AHCI" class="mw-redirect" title="AHCI">AHCI</a> block device driver gained the ability to display whether a device supports the TRIM operation in 10.6.6 (10J3210),<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup> the functionality itself remained inaccessible until 10.6.8, when the TRIM operation was exposed via the IOStorageFamily and filesystem (HFS+) support was added. Until 10.10.4, Mac OS X natively enabled TRIM only for Apple-branded SSDs; third-party utilities are available to enable it for other brands. Old third party TRIM drivers stopped working as of the Yosemite update.<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup> Updated drivers now exist that work with OS X Yosemite.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup> In Mac OS X <a rel="nofollow" class="external text" href="https://support.apple.com/en-us/HT204928">update 10.10.4</a>, Apple added a command line utility, <code>trimforce</code>, that can be used to enable TRIM on third-party SSDs.<sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup>
</td></tr>
<tr>
<td><a href="Microsoft_Windows" title="Microsoft Windows">Microsoft Windows</a>
</td>
<td><span style="display:none">2009–10</span>Windows 7 and Windows Server 2008 R2 – October 2009<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup>
</td>
<td>Windows 7 initially supported TRIM only for drives in the AT Attachment family including <a href="Parallel_ATA" title="Parallel ATA">Parallel ATA</a> and <a href="Serial_ATA" class="mw-redirect" title="Serial ATA">Serial ATA</a>, and did not support this command for any other devices including Storport PCI-Express SSDs even if the device itself would accept the command.<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">[</span>43<span class="cite-bracket">]</span></a></sup> It is confirmed that with native Microsoft drivers the TRIM command works on Windows 7 in <a href="Advanced_Host_Controller_Interface" title="Advanced Host Controller Interface">AHCI</a> and legacy IDE / ATA Mode.<sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup> Windows 8 and later Windows operating systems support the unmap command for devices that use the SCSI driver stack, including <a href="USB_Attached_SCSI" title="USB Attached SCSI">USB Attached SCSI</a> Protocol (UASP). Windows 8.1 and later Windows operating systems support the TRIM command for <a href="NVM_Express" title="NVM Express">NVM Express</a> SSDs. Microsoft has released an update for Windows 7 that adds NVM Express support including TRIM for PCIe SSDs.<sup id="cite_ref-45" class="reference"><a href="#cite_note-45"><span class="cite-bracket">[</span>45<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-46" class="reference"><a href="#cite_note-46"><span class="cite-bracket">[</span>46<span class="cite-bracket">]</span></a></sup>
<p>TRIM is known to be supported for <a href="ReFS" title="ReFS">ReFS</a> and <a href="NTFS" title="NTFS">NTFS</a>, both of which implement a DisableDeleteNotify switch for disabling it.<sup id="cite_ref-47" class="reference"><a href="#cite_note-47"><span class="cite-bracket">[</span>47<span class="cite-bracket">]</span></a></sup> It is also supported for Bitlocker volumes with ReFS and NTFS volumes within. However, Windows does not support TRIM on <a href="ExFAT" title="ExFAT">exFAT</a> or the older FAT/FAT32 filesystems.<sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span class="cite-bracket">[</span>48<span class="cite-bracket">]</span></a></sup>
</p>
</td></tr>
<tr>
<td><a href="OpenSolaris" title="OpenSolaris">OpenSolaris</a>
</td>
<td><span style="display:none">2010-07</span>July 2010<sup id="cite_ref-49" class="reference"><a href="#cite_note-49"><span class="cite-bracket">[</span>49<span class="cite-bracket">]</span></a></sup>
</td>
<td>
</td></tr>
<tr>
<td><a href="Android_(operating_system)" title="Android (operating system)">Android</a>
</td>
<td><span style="display:none">2013-7</span>4.3<sup id="cite_ref-AnandTech_Android_4.3_50-0" class="reference"><a href="#cite_note-AnandTech_Android_4.3-50"><span class="cite-bracket">[</span>50<span class="cite-bracket">]</span></a></sup> – 24 July 2013<sup id="cite_ref-Jelly_Bean_4.3_51-0" class="reference"><a href="#cite_note-Jelly_Bean_4.3-51"><span class="cite-bracket">[</span>51<span class="cite-bracket">]</span></a></sup>
</td>
<td>Runs <code>fstrim</code> automatically up to once every 24 hours if the device has been idle for at least an hour and is at least 80% charged (30% if connected to a charger).<sup id="cite_ref-AnandTech_Android_4.3_50-1" class="reference"><a href="#cite_note-AnandTech_Android_4.3-50"><span class="cite-bracket">[</span>50<span class="cite-bracket">]</span></a></sup>
</td></tr></tbody></table>
<p><br>
</p>
<div class="mw-heading mw-heading3"><h3 id="RAID_issues">RAID issues</h3></div>
<p>As of January 2017, support for the TRIM command is not implemented in most hardware-based <a href="RAID" title="RAID">RAID</a> technologies. However, software RAID implementations often do include support for TRIM.
</p>
<div class="mw-heading mw-heading4"><h4 id="Windows">Windows</h4></div>
<p>Windows 10 offers support for TRIM in SSD ID volumes using the "optimize drives" option when configuring a RAID volume.
</p>
<div class="mw-heading mw-heading4"><h4 id="macOS">macOS</h4></div>
<p>The macOS RAID driver does not support TRIM. This is true for all versions of Mac OS X from 10.7 through macOS 10.12.x.
</p><p>TRIM is supported for RAID (0,1,4,5 & 10) volumes when using the third-party SoftRAID® application, including TRIM support with non-Apple SSD devices.
(Note: TRIM for non-Apple SSD devices must be specifically enabled using the terminal command "sudo trimforce enable".)
</p>
<div class="mw-heading mw-heading4"><h4 id="Linux">Linux</h4></div>
<p>TRIM is available with RAID volumes in post-January-2011 releases of the Linux kernel's <a href="Device_mapper" title="Device mapper">dmraid</a>, which implements BIOS-assisted "fake hardware RAID" support, and which now passes through any TRIM requests from the filesystem that sits on the RAID array.<sup id="cite_ref-52" class="reference"><a href="#cite_note-52"><span class="cite-bracket">[</span>52<span class="cite-bracket">]</span></a></sup>
</p><p>Not to be confused with dmraid, Linux's general-purpose software RAID system, <a href="Mdadm" title="Mdadm">mdraid</a>, has experimental support for batch-based (rather than live, upon <a href="File_deletion" title="File deletion">file deletion</a>) TRIM on RAID 1 arrays when systems are configured to periodically run the mdtrim utility on filesystems (even those like ext3 without native TRIM support).<sup id="cite_ref-53" class="reference"><a href="#cite_note-53"><span class="cite-bracket">[</span>53<span class="cite-bracket">]</span></a></sup> In later versions of Linux, e.g. Red Hat Enterprise Linux 6.5 and beyond, mdraid supports actually passing through TRIM commands in real-time, rather than just as a batch job.<sup id="cite_ref-RHEL_6_Storage_Admin._Chap._21_54-0" class="reference"><a href="#cite_note-RHEL_6_Storage_Admin._Chap._21-54"><span class="cite-bracket">[</span>54<span class="cite-bracket">]</span></a></sup>
</p><p>However, <a href="Red_Hat" title="Red Hat">Red Hat</a> recommends against using software RAID levels 1, 4, 5, and 6 on SSDs with most RAID technologies, because during initialization, most RAID management utilities (e.g. Linux's <a href="Mdadm" title="Mdadm">mdadm</a>) write to all blocks on the devices to ensure that checksums (or drive-to-drive verifies, in the case of RAID 1 and 10) operate properly, causing the SSD to believe that all blocks other than in the spare area are in use, significantly degrading performance.<sup id="cite_ref-55" class="reference"><a href="#cite_note-55"><span class="cite-bracket">[</span>55<span class="cite-bracket">]</span></a></sup>
</p><p>On the other hand, Red Hat does recommend the use of RAID 1 or RAID 10 for <a href="Logical_Volume_Manager_(Linux)" title="Logical Volume Manager (Linux)">LVM</a> RAIDs on SSDs, as these levels support TRIM ("discard" in Linux terminology), and the LVM utilities do not write to all blocks when creating a RAID 1 or RAID 10 volume.<sup id="cite_ref-RHEL_6_Storage_Admin._Chap._21_54-1" class="reference"><a href="#cite_note-RHEL_6_Storage_Admin._Chap._21-54"><span class="cite-bracket">[</span>54<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading4"><h4 id="Firmware-based_RAID">Firmware-based RAID</h4></div>
<p>For a short time in March 2010, users were led to believe that the Intel Rapid Storage Technology (RST) 9.6 (and later) drivers in <a href="Windows_7" title="Windows 7">Windows 7</a> supported TRIM on RAID volumes, but Intel later clarified that TRIM was supported for the BIOS settings of <a href="Advanced_Host_Controller_Interface" title="Advanced Host Controller Interface">AHCI</a> mode and RAID mode, but not if the drive was part of a RAID volume.<sup id="cite_ref-56" class="reference"><a href="#cite_note-56"><span class="cite-bracket">[</span>56<span class="cite-bracket">]</span></a></sup>
</p><p>As of August 2012, Intel confirms that 7-series chipsets with Rapid Storage Technology (RST) 11.2 drivers support TRIM for RAID 0 in Microsoft Windows 7.<sup id="cite_ref-57" class="reference"><a href="#cite_note-57"><span class="cite-bracket">[</span>57<span class="cite-bracket">]</span></a></sup> While Intel did not confirm support for 6-series chipsets, TRIM on RAID 0 volumes has been shown to work on Z68, P67, and X79 chipsets by hardware enthusiasts with a modified RAID <a href="Option_ROM" title="Option ROM">option ROM</a>.<sup id="cite_ref-58" class="reference"><a href="#cite_note-58"><span class="cite-bracket">[</span>58<span class="cite-bracket">]</span></a></sup> It is speculated that the lack of official support for 6-series chipsets is due to validation costs<sup id="cite_ref-59" class="reference"><a href="#cite_note-59"><span class="cite-bracket">[</span>59<span class="cite-bracket">]</span></a></sup> or an attempt to encourage consumers to upgrade,<sup id="cite_ref-60" class="reference"><a href="#cite_note-60"><span class="cite-bracket">[</span>60<span class="cite-bracket">]</span></a></sup> rather than for technical reasons.
</p><p>An exception to the need for a modified option ROM on motherboards with an X79 chipset is if the manufacturer has added a ROM switch; this entails both the RST and RST-E ROMs being inside the BIOS/UEFI. This allows the RST ROM to be used instead of the RST-E ROM, allowing TRIM to function.<sup id="cite_ref-61" class="reference"><a href="#cite_note-61"><span class="cite-bracket">[</span>61<span class="cite-bracket">]</span></a></sup> Intel notes that best performance can be achieved by using a driver with same version as the ROM; for example, if the BIOS/UEFI has an 11.0.0.0m option ROM, an 11.x version driver should be used.<sup id="cite_ref-62" class="reference"><a href="#cite_note-62"><span class="cite-bracket">[</span>62<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Enabling_unsupported_filesystems">Enabling unsupported filesystems</h3></div>
<p>Where the filesystem does not automatically support TRIM, some utilities can send trimming commands manually. Usually they determine which blocks are free and then pass this list as a series of trimming commands to the drive. These utilities are available from various manufacturers (e.g. Intel,<sup id="cite_ref-Intel_SSD_Opt_63-0" class="reference"><a href="#cite_note-Intel_SSD_Opt-63"><span class="cite-bracket">[</span>63<span class="cite-bracket">]</span></a></sup> G.Skill<sup id="cite_ref-64" class="reference"><a href="#cite_note-64"><span class="cite-bracket">[</span>64<span class="cite-bracket">]</span></a></sup>), or as general utilities (e.g. Linux's <a href="Hdparm" title="Hdparm">hdparm</a> "wiper" since v9.17,<sup id="cite_ref-65" class="reference"><a href="#cite_note-65"><span class="cite-bracket">[</span>65<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-66" class="reference"><a href="#cite_note-66"><span class="cite-bracket">[</span>66<span class="cite-bracket">]</span></a></sup> or mdtrim, as mentioned <a href="#RAID_issues">above</a>). Both hdparm and mdtrim find free blocks by allocating a large file on the filesystem and resolving what physical location it was assigned to.
</p><p>Regardless of operating system, the drive can detect when the computer writes all zeros to a block, and de-allocate (trim) that block instead of recording the block of zeros. If reading a de-allocated block always returns zeros, this shortcut is transparent to the user, except for faster writing (and reading) of all-zero blocks, in addition to the usual benefit of faster writing into unused areas. Operating systems do not write all zeros to <a href="Data_wiping" class="mw-redirect" title="Data wiping">"wipe"</a> files or free space, but some utilities do.
</p>
<div class="mw-heading mw-heading2"><h2 id="Hardware_support">Hardware support</h2></div>
<div class="mw-heading mw-heading3"><h3 id="ATA">ATA</h3></div>
<p>The TRIM command specification<sup id="cite_ref-67" class="reference"><a href="#cite_note-67"><span class="cite-bracket">[</span>67<span class="cite-bracket">]</span></a></sup> has been standardized as part of the <a href="AT_Attachment" class="mw-redirect" title="AT Attachment">AT Attachment</a> (ATA) interface standard, led by Technical Committee T13 of the <a href="International_Committee_for_Information_Technology_Standards" title="International Committee for Information Technology Standards">International Committee for Information Technology Standards</a> (INCITS).<sup id="cite_ref-68" class="reference"><a href="#cite_note-68"><span class="cite-bracket">[</span>68<span class="cite-bracket">]</span></a></sup> TRIM is implemented under the DATA SET MANAGEMENT command (opcode 06h) of the draft ACS-2 specification.<sup id="cite_ref-69" class="reference"><a href="#cite_note-69"><span class="cite-bracket">[</span>69<span class="cite-bracket">]</span></a></sup> The ATA standard is supported by both parallel (IDE, PATA) and serial (SATA) ATA hardware.
</p><p>A drawback of the original ATA TRIM command is that it was defined as a non-queueable command and therefore could not easily be mixed with a normal workload of queued read and write operations. SATA 3.1 introduced a queued TRIM command to remedy this.<sup id="cite_ref-70" class="reference"><a href="#cite_note-70"><span class="cite-bracket">[</span>70<span class="cite-bracket">]</span></a></sup>
</p><p>There are different types of TRIM defined by SATA Words 69 and 169 returned from an ATA IDENTIFY DEVICE command:
</p>
<ul><li>Non-deterministic TRIM: Each read command to the <a href="Logical_block_addressing" title="Logical block addressing">logical block address</a> (LBA) after a TRIM may return different data.</li>
<li>Deterministic TRIM (DRAT): All read commands to the LBA after a TRIM shall return the same data, or become determinate.</li>
<li>Deterministic Read Zero after TRIM (RZAT): All read commands to the LBA after a TRIM shall return zero.</li></ul>
<p>There is additional information in SATA Word 105 that describes the Maximum number of 512-byte blocks per DATA SET MANAGEMENT command that a drive can support. Typically this defaults to 8 (or 4 kB) but many drives reduce this to 1 to meet the Microsoft Windows Hardware Requirements for TRIM, that command completion time shall not exceed 20 ms or 8 ms × (number of LBA range entries), whichever is greater, and shall always be less than 600 ms.<sup id="cite_ref-71" class="reference"><a href="#cite_note-71"><span class="cite-bracket">[</span>71<span class="cite-bracket">]</span></a></sup>
</p><p>An individual LBA range is called an LBA Range Entry and is represented by eight bytes. The LBA is expressed by the LBA Range Entry's first six bytes and the Range Length is a zero-based counter (e.g., 0=0 and 1=1) represented by the remaining two bytes. If the two-byte range length is zero, then the LBA Range Entry shall be discarded as padding.<sup id="cite_ref-72" class="reference"><a href="#cite_note-72"><span class="cite-bracket">[</span>72<span class="cite-bracket">]</span></a></sup> This means that for each 512-byte block of TRIM ranges that a device supports, the maximum is 64 ranges of 32 MB, or 2 GB. If a device supports SATA Word 105 at 8 then it should be able to trim 16 GB in a single TRIM (DATA SET MANAGEMENT) command.
</p>
<div class="mw-heading mw-heading3"><h3 id="SCSI">SCSI</h3></div>
<p><a href="SCSI" title="SCSI">SCSI</a> provides the UNMAP command (a full analog of TRIM), and the WRITE SAME command (10 and 16 variants) with the UNMAP flag set.<sup id="cite_ref-73" class="reference"><a href="#cite_note-73"><span class="cite-bracket">[</span>73<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="SD/MMC">SD/MMC</h3></div>
<p>The <a href="MultiMediaCard" title="MultiMediaCard">MultiMediaCard</a> and <a href="SD_card" title="SD card">SD</a> ERASE (CMD38) command provides similar functionality to the ATA TRIM command, although it requires that erased blocks be overwritten with either zeroes or ones. A DISCARD sub-operation is further defined in eMMC 4.5, and optionally in SDHC and SDXC cards, that more closely matches ATA TRIM in that the contents of discarded blocks can be considered indeterminate (i.e., "don't care").
</p>
<div class="mw-heading mw-heading3"><h3 id="NVM_Express">NVM Express</h3></div>
<p>The <a href="NVM_Express" title="NVM Express">NVM Express</a> command set has a generic <i>Dataset Management</i> command, for hinting the host's intent to the storage device on a set of block ranges. If that command is executed with the Attribute – Deallocate (AD) bit set to 1 in Command Dword 11, it performs trim. It also has a <i>Write Zeroes</i> command, which contains a Deallocate (DEAC) bit in Command Dword 12 that allows the disk to trim and return zeroes.<sup id="cite_ref-74" class="reference"><a href="#cite_note-74"><span class="cite-bracket">[</span>74<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Disadvantages">Disadvantages</h2></div>
<ul><li>Some <a href="Deniable_encryption" title="Deniable encryption">deniable encryption</a> schemes involve making the whole disk look like random garbage. Using TRIM defeats this layer of <a href="Plausible_deniability" title="Plausible deniability">plausible deniability</a> as the all-zero (or all-one) blocks created easily indicate what blocks are used.<sup id="cite_ref-75" class="reference"><a href="#cite_note-75"><span class="cite-bracket">[</span>75<span class="cite-bracket">]</span></a></sup> It has been argued disabling TRIM might be suspicious too.<sup id="cite_ref-76" class="reference"><a href="#cite_note-76"><span class="cite-bracket">[</span>76<span class="cite-bracket">]</span></a></sup></li>
<li>The original version of the TRIM command has been defined as a non-queued command by the <a href="T13_subcommittee" class="mw-redirect" title="T13 subcommittee">T13 subcommittee</a>, and consequently can incur massive execution penalty if used carelessly, e.g., if sent after each filesystem delete command. The non-queued nature of the command requires the driver to first wait for all outstanding commands to be finished, issue the TRIM command, then resume normal commands. TRIM can take a lot of time to complete, depending on the firmware in the SSD, and may even trigger a <a href="Garbage_collection_(SSD)" class="mw-redirect" title="Garbage collection (SSD)">garbage collection</a> cycle. This penalty can be minimized in solutions that do batched TRIMs and/or periodic TRIMs, rather than trimming upon every <a href="File_deletion" title="File deletion">file deletion</a>, by scheduling such batch jobs for times when system utilization is low. This TRIM disadvantage has been overcome in <a href="Serial_ATA" class="mw-redirect" title="Serial ATA">Serial ATA</a> revision 3.1 with the introduction of the Queued TRIM Command.<sup id="cite_ref-77" class="reference"><a href="#cite_note-77"><span class="cite-bracket">[</span>77<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-78" class="reference"><a href="#cite_note-78"><span class="cite-bracket">[</span>78<span class="cite-bracket">]</span></a></sup></li>
<li>Only some <a href="Hypervisors" class="mw-redirect" title="Hypervisors">hypervisors</a> (such as <a href="Hyper-V" title="Hyper-V">Hyper-V</a>, <a href="Parallels_Desktop" class="mw-redirect" title="Parallels Desktop">Parallels Desktop</a>) have implemented TRIM for the Guest OS (as of 2023).</li>
<li>Faulty drive firmware that misreports support for queued TRIM or has critical bugs in its implementation has been linked to serious data corruption and/or serious bugs like frequent freezes in several devices, most notably Micron and Crucial's M500<sup id="cite_ref-M500_79-0" class="reference"><a href="#cite_note-M500-79"><span class="cite-bracket">[</span>79<span class="cite-bracket">]</span></a></sup> and Samsung's 840 and 850 series.<sup id="cite_ref-80" class="reference"><a href="#cite_note-80"><span class="cite-bracket">[</span>80<span class="cite-bracket">]</span></a></sup> The data corruption has been confirmed on the Linux operating system (the only OS with queued trim support as of 1 July 2015).<sup id="cite_ref-81" class="reference"><a href="#cite_note-81"><span class="cite-bracket">[</span>81<span class="cite-bracket">]</span></a></sup></li></ul>
<p>These devices are blacklisted in the Linux kernel's <style data-mw-deduplicate="TemplateStyles:r886049734">
/* start https://en.wikipedia.org/ */
.mw-parser-output .monospaced{font-family:monospace,monospace}
/* end https://en.wikipedia.org/ */
</style><span class="monospaced">libata-core.c</span> to force sending non-queued TRIM commands (<span class="monospaced">ATA_HORKAGE_NO_NCQ_TRIM</span>) to these drives instead of queued TRIM commands:<sup id="cite_ref-libata-core.c_82-0" class="reference"><a href="#cite_note-libata-core.c-82"><span class="cite-bracket">[</span>82<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>Micron/Crucial M500 using all firmware versions including factory recertified SSDs</li>
<li>Micron M510 using firmware version MU01</li>
<li>Micron/Crucial M550 using firmware version MU01</li>
<li>Crucial MX100 using firmware version MU01</li>
<li>Samsung 840 and 850 series SSDs using all firmware versions</li></ul>
<p>This file also blacklists the SuperSSpeed S238 against TRIM in general due to causing the wrong blocks to lose data when TRIM is issued.<sup id="cite_ref-libata-core.c_82-1" class="reference"><a href="#cite_note-libata-core.c-82"><span class="cite-bracket">[</span>82<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-83" class="reference"><a href="#cite_note-83"><span class="cite-bracket">[</span>83<span class="cite-bracket">]</span></a></sup>
</p><p><span class="monospaced">libata-core.c</span> also has a whitelist to list SSDs that are reliably known to the subsystem's maintainers to correctly implement the DRAT and RZAT flags (<code>ATA_HORKAGE_ZERO_AFTER_TRIM</code>), rather than ignoring them, as many drives do. The whitelisted drives are as follows:<sup id="cite_ref-libata-core.c_82-2" class="reference"><a href="#cite_note-libata-core.c-82"><span class="cite-bracket">[</span>82<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>Crucial SSDs</li>
<li>Intel SSDs excluding the Intel SSD 510</li>
<li>Micron SSDs</li>
<li>Samsung SSDs</li>
<li>Seagate SSDs<sup id="cite_ref-84" class="reference"><a href="#cite_note-84"><span class="cite-bracket">[</span>84<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Data_remanence" title="Data remanence">Data remanence</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;">
<ol class="references">
<li id="cite_note-Intel_Knowledgebase-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-Intel_Knowledgebase_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.intel.com/content/www/us/en/support/solid-state-drives/000016148.html?wapkw=trim">"Intel High Performance Solid State Drive – Advantages of TRIM"</a>. <i>Intel.com</i>. <a href="Intel" title="Intel">Intel</a>. 14 September 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">21 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://documents.westerndigital.com/content/dam/doc-library/en_us/assets/public/western-digital/product/internal-drives/wd-purple-hdd/whitepaper-generic-benefit-for-hard-disk-drive.pdf">"Trim Command - General Benefits for Hard disk Drives"</a> <span class="cs1-format">(PDF)</span>. <i>Documents.westerndigital.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">7 November</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-SSD_Anthology_4-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-SSD_Anthology_4_3-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFShimpi,_Anand_Lal2009" class="citation web cs1">Shimpi, Anand Lal (18 March 2009). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100330115636/http://www.anandtech.com/show/2738">"The SSD Anthology: Understanding SSDs and New Drives from OCZ"</a>. <i>AnandTech.com</i>. p. 4. Archived from <a rel="nofollow" class="external text" href="https://www.anandtech.com/show/2738">the original</a> on 30 March 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">19 June</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-SSD_Anthology_10-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-SSD_Anthology_10_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-SSD_Anthology_10_4-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Shimpi, Anand Lal. (18 March 2009). p. 10.
TRIM is an ATA command (Advanced Technology Attachment Command) that allows an OS to inform SSD about the blocks of data no longer in use. The SSD then deletes such blocks of data to make a way for newer blocks of data. TRIM is basically used for enhancing the performance and life span of the SSD.
Unfortunately, the boon of TRIM becomes a bane for data recovery from SSD. Therefore, it is strongly recommended to regularly make a backup copy of your data using a reliable tool (for example Disk Drill for Windows), especially if your OS is warning about SSD failing. </span>
</li>
<li id="cite_note-SSD_Anthology_11-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-SSD_Anthology_11_5-0">^</a></b></span> <span class="reference-text">Shimpi, Anand Lal. (18 March 2009). p. 11.</span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://archive.today/20120720062335/http://www.anandtech.com/show/4010/kingston-ssdnow-v-plus-100-review">"Kingston SSDNow V Plus 100 Review"</a>. <i>AnandTech.com</i>. Anand Lal Shimpi. 11 November 2010. Archived from <a rel="nofollow" class="external text" href="http://www.anandtech.com/show/4010/kingston-ssdnow-v-plus-100-review">the original</a> on 20 July 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">10 December</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-WindowsITPro-7"><span class="mw-cite-backlink">^ <a href="#cite_ref-WindowsITPro_7-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-WindowsITPro_7-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-WindowsITPro_7-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFSavill,_John2009" class="citation web cs1">Savill, John (21 April 2009). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120819190909/http://www.windowsitpro.com/article/john-savills-windows-faqs/q-i-heard-solid-state-disks-ssds-suffer-from-a-decline-in-write-performance-as-they-re-used-why-">"I heard solid-state disks (SSDs) suffer from a decline in write performance as they're used. Why?"</a>. WindowsITPro. Archived from <a rel="nofollow" class="external text" href="http://www.windowsitpro.com/article/john-savills-windows-faqs/q-i-heard-solid-state-disks-ssds-suffer-from-a-decline-in-write-performance-as-they-re-used-why-.aspx">the original</a> on 19 August 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">19 June</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-SSD_Anthology_7-8"><span class="mw-cite-backlink">^ <a href="#cite_ref-SSD_Anthology_7_8-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-SSD_Anthology_7_8-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-SSD_Anthology_7_8-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text">Shimpi, Anand Lal. (18 March 2009). p. 7.</span>
</li>
<li id="cite_note-WindowsITPro_Trim-9"><span class="mw-cite-backlink">^ <a href="#cite_ref-WindowsITPro_Trim_9-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-WindowsITPro_Trim_9-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFSavill,_John2009" class="citation web cs1">Savill, John (22 April 2009). <a rel="nofollow" class="external text" href="https://archive.today/20130209233800/http://www.windowsitpro.com/article/file-systems/q-what-is-the-trim-function-for-solid-state-disks-ssds-and-why-is-it-important-.aspx">"What is the TRIM function for solid-state disks (SSDs) and why is it important?"</a>. WindowsITPro. Archived from <a rel="nofollow" class="external text" href="http://www.windowsitpro.com/article/file-systems/q-what-is-the-trim-function-for-solid-state-disks-ssds-and-why-is-it-important-.aspx">the original</a> on 9 February 2013<span class="reference-accessdate">. Retrieved <span class="nowrap">19 June</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-PC_Per_Malventano-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-PC_Per_Malventano_10-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFMalventano2009" class="citation web cs1">Malventano, Allyn (13 February 2009). <a rel="nofollow" class="external text" href="http://www.pcper.com/reviews/Storage/Long-term-performance-analysis-Intel-Mainstream-SSDs/Intel-Option-1-Write-Big">"Long-term performance analysis of Intel Mainstream SSDs"</a>. <i>PC Perspective</i><span class="reference-accessdate">. Retrieved <span class="nowrap">10 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-SSD_Anthology_5-11"><span class="mw-cite-backlink">^ <a href="#cite_ref-SSD_Anthology_5_11-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-SSD_Anthology_5_11-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Shimpi, Anand Lal. (18 March 2009). p. 5.</span>
</li>
<li id="cite_note-SSD_Anthology_8-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-SSD_Anthology_8_12-0">^</a></b></span> <span class="reference-text">Shimpi, Anand Lal. (18 March 2009). p. 8.</span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><cite id="CITEREFCase2008" class="citation news cs1">Case, Loyd (8 September 2008). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20101115074120/http://www.extremetech.com/article2/0%2C2845%2C2329594%2C00.asp">"Write Amplification: Intel's Secret Sauce"</a>. <i>Extremetech</i>. ExtremeTech.com. Archived from <a rel="nofollow" class="external text" href="http://www.extremetech.com/article2/0,2845,2329594,00.asp">the original</a> on 15 November 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">6 November</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.tomshardware.com/reviews/Intel-x25-m-SSD,2012-5.html">"Inside the X25-M Controller: Wear Leveling, Write Amplification Control"</a>. TomsHardware.com. 8 September 2008<span class="reference-accessdate">. Retrieved <span class="nowrap">6 November</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.forensicfocus.com/articles/recovering-evidence-from-ssd-drives-in-2014-understanding-trim-garbage-collection-and-exclusions/">"Too TRIM? When SSD Data Recovery is Impossible"</a>. <i>Forensic Focus</i>. 23 September 2014<span class="reference-accessdate">. Retrieved <span class="nowrap">8 May</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://leaf.dragonflybsd.org/mailarchive/kernel/2011-05/msg00002.html">"Preliminary TRIM support"</a>. <i>leaf.dragonflybsd.org</i>.</cite></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.freebsd.org/releases/8.1R/relnotes-detailed.html#DISKS">"FreeBSD 8.1-RELEASE Release Notes: Disks and Storage"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">1 September</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/ufs/ffs/ffs_alloc.c#rev1.153.2.4">"Add kernel side support for BIO_DELETE/TRIM on UFS"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">1 February</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://svnweb.freebsd.org/base?view=revision&revision=251419">"Added ZFS TRIM support which is enabled by default"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">5 June</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.freebsd.org/releases/9.2R/announce.html">"FreeBSD 9.2-RELEASE Announcement"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">4 October</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://svnweb.freebsd.org/base?view=revision&revision=242323">"Base revision 242323 – Add basic BIO_DELETE support to GEOM RAID class for all RAID levels"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">30 October</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://mail-index.netbsd.org/source-changes/2012/10/19/msg038047.html">"TRIM support in NetBSD"</a>. 19 October 2012.</cite></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://kernelnewbies.org/Linux_2_6_28">"Linux_2_6_28 - Linux Kernel Newbies"</a>. <i>kernelnewbies.org</i>.</cite></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://kernelnewbies.org/Linux_2_6_33#head-b9b8a40358aaef60a61fcf12e9055900709a1cfb">"Storage changes in Linux 2.6.33"</a>. Kernel Newbies<span class="reference-accessdate">. Retrieved <span class="nowrap">1 September</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://sites.google.com/site/lightrush/random-1/howtoconfigureext4toenabletrimforssdsonubuntu">"Forked by Nicolay - HOWTO: Configure Ext4 to Enable TRIM Support for SSDs on Ubuntu and Other Distributions"</a>. <i>sites.google.com</i>.</cite></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://kernelnewbies.org/Linux_2_6_32">"Linux_2_6_32 - Linux Kernel Newbies"</a>. <i>kernelnewbies.org</i>.</cite></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.phoronix.com/scan.php?page=news_item&px=MTE5ODY">"JFS Filesystem can now handle trim"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">28 March</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-Filesystem_changes_in_Linux_3.0-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-Filesystem_changes_in_Linux_3.0_28-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://kernelnewbies.org/Linux_3.0">"Linux_3.0 - Linux Kernel Newbies"</a>. <i>kernelnewbies.org</i>.</cite></span>
</li>
<li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://openzfs.org/wiki/Features#TRIM_Support">"OpenZFS TRIM Support"</a>. <i>openzfs.org</i>.</cite></span>
</li>
<li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><cite id="CITEREFFreemyer2010" class="citation web cs1">Freemyer, Greg (2010). <a rel="nofollow" class="external text" href="http://opensuse.14.n6.nabble.com/SSD-detection-when-creating-first-time-fstab-td3313048.html">"OpenSUSE forum – SSD detection when creating first time fstab"</a>.</cite></span>
</li>
<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://askubuntu.com/questions/18903/how-to-enable-trim/19480#19480">"How to enable TRIM?"</a>. <i>Ask Ubuntu</i><span class="reference-accessdate">. Retrieved <span class="nowrap">11 November</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://en.opensuse.org/SDB:SSD_discard_(trim)_support">"SDB:SSD discard (trim) support - openSUSE Wiki"</a>. <i>en.opensuse.org</i>.</cite></span>
</li>
<li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://fedoraproject.org/wiki/Changes/EnableFSTrimTimer">"Changes/EnableFSTrimTimer - Fedora Project Wiki"</a>. <i>fedoraproject.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">10 December</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://man.archlinux.org/man/swapon.8.en">"swapon(8) — Arch manual pages"</a>. <i>man.archlinux.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">20 June</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.macrumors.com/2011/06/27/mac-os-x-10-6-8-brings-trim-support-for-apple-ssds-graphics-improvements/">"Mac OS X 10.6.8 Brings TRIM Support for Apple SSDs, Graphics Improvements"</a>. 24 February 2012.</cite></span>
</li>
<li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.appleinsider.com/articles/11/03/04/apples_macbook_pros_ship_with_active_ssd_trim_support_in_snow_leopard.html">"Macbook Pros ship with active SSD TRIM support"</a>. 4 March 2011.</cite></span>
</li>
<li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.zdnet.com/article/yosemite-kills-third-party-ssd-support/">"Yosemite kills third-party SSD support"</a>. <i><a href="ZDNet" class="mw-redirect" title="ZDNet">ZDNet</a></i>.</cite></span>
</li>
<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://chameleon.alessandroboschini.com/">"Chameleon SSD Optimizer"</a>. <i>chameleon.alessandroboschini.com</i>.</cite></span>
</li>
<li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20211108084427/https://cindori.org/search/Trim+enabler/">"You searched for Trim enabler"</a>. <i>Cindori.org</i>. Archived from <a rel="nofollow" class="external text" href="https://cindori.org/search/Trim+enabler/">the original</a> on 8 November 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">7 November</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40">^</a></b></span> <span class="reference-text"><cite id="CITEREFLee_Hutchinson2015" class="citation web cs1">Lee Hutchinson (30 June 2015). <a rel="nofollow" class="external text" href="https://arstechnica.com/apple/2015/06/latest-os-x-update-allows-you-to-enable-trim-for-third-party-ssds/">"Latest OS X update allows you to enable TRIM for third-party SSDs"</a>. <i>Ars Technica</i>. Condé Nast<span class="reference-accessdate">. Retrieved <span class="nowrap">1 July</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><cite id="CITEREFFortin2009" class="citation web cs1">Fortin, Michael (9 May 2009). Sinofsky, Steven (ed.). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100425050749/http://blogs.msdn.com/e7/archive/2009/05/05/support-and-q-a-for-solid-state-drives-and.aspx">"Support and Q&A for Solid-State Drives"</a>. <i>Engineering Windows 7 blog</i>. <a href="Microsoft" title="Microsoft">Microsoft</a>. Archived from <a rel="nofollow" class="external text" href="http://blogs.msdn.com/e7/archive/2009/05/05/support-and-q-a-for-solid-state-drives-and.aspx">the original</a> on 25 April 2010.</cite> <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/archive/blogs/e7/support-and-qa-for-solid-state-drives">Alt URL</a></span>
</li>
<li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://download.microsoft.com/download/F/A/7/FA70E919-8F82-4C4E-8D02-97DB3CF79AD5/COR-T558_Shu_Taiwan.pdf">"Windows 7 Enhancements for Solid-State Drives"</a> <span class="cs1-format">(PDF)</span>. <i>Microsoft downloads</i>. Microsoft Corporation. 12 November 2008<span class="reference-accessdate">. Retrieved <span class="nowrap">8 July</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://techreport.com/articles.x/22663">Geoff Gasior (2012)</a> OCZ's RevoDrive 3 X2 240GB solid-state drive</span>
</li>
<li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><cite id="CITEREFColes2010" class="citation web cs1">Coles, Olin (15 April 2010). <a rel="nofollow" class="external text" href="http://archive.benchmarkreviews.com/index.php?option=com_content&task=view&id=505&Itemid=38&limit=1&limitstart=12">"SSD Benchmark Tests: SATA IDE vs AHCI Mode – AHCI vs IDE Final Thoughts"</a>. <i>BenchmarkReviews</i><span class="reference-accessdate">. Retrieved <span class="nowrap">20 August</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-45">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://support.microsoft.com/en-us/help/2990941/update-to-add-native-driver-support-in-nvm-express-in-windows-7-and-wi">"Update to add native driver support in NVM Express in Windows 7 and Windows Server 2008 R2"</a>. <i>Support</i>. Microsoft. 8 September 2015.</cite></span>
</li>
<li id="cite_note-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-46">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://datarecovery.com/rd/trim-command-solid-state-drives/">"What is the TRIM Command on Solid State Drives?"</a>. <i>datarecovery.com</i>. 30 January 2017. <q>Microsoft added the feature in a Windows 7 update known as KB2990941</q></cite></span>
</li>
<li id="cite_note-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-47">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-behavior">"Fsutil behavior"</a>. <i>Microsoft Documentation</i><span class="reference-accessdate">. Retrieved <span class="nowrap">17 November</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://gist.github.com/CKingX/d9843b2afa58d5dad78e192fa5ea61aa">"TRIM support in Windows"</a>.</cite></span>
</li>
<li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20120812002958/http://www.c0t0d0s0.org/archives/6792-SATA-TRIM-support-in-Opensolaris.html">"SATA TRIM support in OpenSolaris"</a>. 29 July 2010. Archived from <a rel="nofollow" class="external text" href="http://www.c0t0d0s0.org/archives/6792-SATA-TRIM-support-in-Opensolaris.html">the original</a> on 12 August 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">29 July</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-AnandTech_Android_4.3-50"><span class="mw-cite-backlink">^ <a href="#cite_ref-AnandTech_Android_4.3_50-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-AnandTech_Android_4.3_50-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20130801011221/http://www.anandtech.com/show/7185/android-43-update-brings-trim-to-all-nexus-devices">"Android 4.3 Update Brings TRIM to All Nexus Devices"</a>. 29 July 2013. Archived from <a rel="nofollow" class="external text" href="http://www.anandtech.com/show/7185/android-43-update-brings-trim-to-all-nexus-devices">the original</a> on 1 August 2013<span class="reference-accessdate">. Retrieved <span class="nowrap">30 July</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-Jelly_Bean_4.3-51"><span class="mw-cite-backlink"><b><a href="#cite_ref-Jelly_Bean_4.3_51-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.theverge.com/2013/7/24/4550234/android-4-3-announcement">"Android 4.3 announced, rolling out to Nexus devices today"</a>.<i><a href="The_Verge" title="The Verge">The Verge</a></i>. 24 July 2013. Retrieved 24 July 2013.</span>
</li>
<li id="cite_note-52"><span class="mw-cite-backlink"><b><a href="#cite_ref-52">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://serverfault.com/questions/227918/possible-to-get-ssd-trim-discard-working-on-ext4-lvm-software-raid-in-linu">"Possible to get SSD TRIM (discard) working on ext4 + LVM + software RAID in Linux? – Server Fault"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">29 November</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-53"><span class="mw-cite-backlink"><b><a href="#cite_ref-53">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/Cyberax/mdtrim">"Cyberax/mdtrim – GitHub"</a>. <i><a href="GitHub" title="GitHub">GitHub</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">29 November</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-RHEL_6_Storage_Admin._Chap._21-54"><span class="mw-cite-backlink">^ <a href="#cite_ref-RHEL_6_Storage_Admin._Chap._21_54-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-RHEL_6_Storage_Admin._Chap._21_54-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/ch-ssd.html">"Red Hat Enterprise Linux 6 Storage Administration Guide, Chapter 21. Solid-State Disk Deployment Guidelines"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">9 March</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-55"><span class="mw-cite-backlink"><b><a href="#cite_ref-55">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/7/html-single/Storage_Administration_Guide/index.html#ssddeploy">"Red Hat Enterprise Linux 7 Storage Administration Guide"</a>. 11 November 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">29 February</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-56"><span class="mw-cite-backlink"><b><a href="#cite_ref-56">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.intel.com/support/chipsets/imsm/sb/CS-031491.htm">"Is there TRIM support for RAID configurations?"</a>. <a href="Intel" title="Intel">Intel</a>. 26 March 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">6 November</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-57"><span class="mw-cite-backlink"><b><a href="#cite_ref-57">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20121022095157/http://www.storagereview.com/intel_confirms_raid0_trim_support_on_7series_chipsets">"Intel Confirms RAID0 TRIM Support on 7-Series Chipsets"</a>. 19 August 2012. Archived from <a rel="nofollow" class="external text" href="http://www.storagereview.com/intel_confirms_raid0_trim_support_on_7series_chipsets">the original</a> on 22 October 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">14 January</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-58"><span class="mw-cite-backlink"><b><a href="#cite_ref-58">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20130118035253/http://forums.anandtech.com/showthread.php?t=2281849">"RAID0 trim and SRT seems possible on 6-series and 5-Series"</a>. 18 November 2012. Archived from <a rel="nofollow" class="external text" href="http://forums.anandtech.com/showthread.php?t=2281849">the original</a> on 18 January 2013<span class="reference-accessdate">. Retrieved <span class="nowrap">14 January</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-59"><span class="mw-cite-backlink"><b><a href="#cite_ref-59">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20121130140548/http://www.anandtech.com/show/6477/trim-raid0-ssd-arrays-work-with-intel-6series-motherboards-too">"TRIM & RAID-0 SSD Arrays Work With Intel 6-Series Motherboards Too"</a>. 28 November 2012. Archived from <a rel="nofollow" class="external text" href="http://www.anandtech.com/show/6477/trim-raid0-ssd-arrays-work-with-intel-6series-motherboards-too">the original</a> on 30 November 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">14 January</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-60"><span class="mw-cite-backlink"><b><a href="#cite_ref-60">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://archive.today/20130215130244/http://www.anandtech.com/show/6161/intel-brings-trim-to-raid0-ssd-arrays-on-7series-motherboards-we-test-it">"Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It"</a>. 16 August 2012. Archived from <a rel="nofollow" class="external text" href="https://www.anandtech.com/show/6161/intel-brings-trim-to-raid0-ssd-arrays-on-7series-motherboards-we-test-it">the original</a> on 15 February 2013<span class="reference-accessdate">. Retrieved <span class="nowrap">14 January</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-61"><span class="mw-cite-backlink"><b><a href="#cite_ref-61">^</a></b></span> <span class="reference-text"><cite id="CITEREFAnand_Lal_Shimpi" class="citation web cs1">Anand Lal Shimpi. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120818152120/http://www.anandtech.com/show/6161/intel-brings-trim-to-raid0-ssd-arrays-on-7series-motherboards-we-test-it">"Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.anandtech.com/show/6161/intel-brings-trim-to-raid0-ssd-arrays-on-7series-motherboards-we-test-it">the original</a> on 18 August 2012.</cite></span>
</li>
<li id="cite_note-62"><span class="mw-cite-backlink"><b><a href="#cite_ref-62">^</a></b></span> <span class="reference-text"><cite id="CITEREFDoug_Crowthers2012" class="citation web cs1">Doug Crowthers (17 August 2012). <a rel="nofollow" class="external text" href="http://www.tomshardware.com/news/TRIM-RST-RAID-0-SSD-7-series,16898.html">"TRIM Command Confirmed With RAID 0 on Intel 7 Series"</a>. <i>Tom's Hardware</i>.</cite></span>
</li>
<li id="cite_note-Intel_SSD_Opt-63"><span class="mw-cite-backlink"><b><a href="#cite_ref-Intel_SSD_Opt_63-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20121005122335/http://download.intel.com/design/flash/nand/mainstream/Intel_SSD_Optimizer_White_Paper.pdf">"Intel SSD Optimizer White Paper"</a> <span class="cs1-format">(PDF)</span>. Intel Corporation. Archived from <a rel="nofollow" class="external text" href="http://download.intel.com/design/flash/nand/mainstream/Intel_SSD_Optimizer_White_Paper.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 5 October 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">23 January</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-64"><span class="mw-cite-backlink"><b><a href="#cite_ref-64">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20130625015930/http://www.xtremesystems.org/forums/showthread.php?224356-only-for-Falcon-Series-wiper.exe-TRIM-COMMAND-for-Falcon-Series-SSD">"wiper.exe for Falcon Series"</a>. XtremeSystems. Archived from <a rel="nofollow" class="external text" href="http://www.xtremesystems.org/forums/showthread.php?p=3784347">the original</a> on 25 June 2013<span class="reference-accessdate">. Retrieved <span class="nowrap">23 January</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-65"><span class="mw-cite-backlink"><b><a href="#cite_ref-65">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://lwn.net/Articles/345020/">"hdparm-9.17 released, with experimental trim/wiper scripts for SSDs"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">14 August</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-66"><span class="mw-cite-backlink"><b><a href="#cite_ref-66">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://sourceforge.net/projects/hdparm">"hdparm project page"</a>. sourceforge.net<span class="reference-accessdate">. Retrieved <span class="nowrap">14 August</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-67"><span class="mw-cite-backlink"><b><a href="#cite_ref-67">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20100613085651/http://t13.org/Documents/UploadedDocuments/docs2008/e07154r6-Data_Set_Management_Proposal_for_ATA-ACS2.doc">"Data Set Management Commands Proposal for ATA8-ACS2 (revision 6)"</a>. <i>INCITS T13</i>. <a href="INCITS" class="mw-redirect" title="INCITS">INCITS</a>. 12 December 2007. Archived from <a rel="nofollow" class="external text" href="http://t13.org/Documents/UploadedDocuments/docs2008/e07154r6-Data_Set_Management_Proposal_for_ATA-ACS2.doc">the original</a> on 13 June 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">8 July</span> 2009</span>.</cite> (draft specification T13/e07154r6)</span>
</li>
<li id="cite_note-68"><span class="mw-cite-backlink"><b><a href="#cite_ref-68">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20100526115741/http://t13.org/Documents/MinutesDefault.aspx?keyword=trim">"T13 documents referring to TRIM"</a>. <i>INCITS T13</i>. <a href="INCITS" class="mw-redirect" title="INCITS">INCITS</a>. Archived from <a rel="nofollow" class="external text" href="http://t13.org/Documents/MinutesDefault.aspx?keyword=trim">the original</a> on 26 May 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">8 July</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-69"><span class="mw-cite-backlink"><b><a href="#cite_ref-69">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110322062157/http://www.t13.org/Documents/UploadedDocuments/docs2010/d1697r4-1697D_AT_Attachment-8_-_Serial_Transport_ATA8-AST.pdf">"T13 ATA8 Draft Spec 1697-D"</a> <span class="cs1-format">(PDF)</span>. <a href="INCITS" class="mw-redirect" title="INCITS">INCITS</a>. 23 June 2010. Archived from <a rel="nofollow" class="external text" href="http://www.t13.org/Documents/UploadedDocuments/docs2010/d1697r4-1697D_AT_Attachment-8_-_Serial_Transport_ATA8-AST.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 22 March 2011<span class="reference-accessdate">. Retrieved <span class="nowrap">14 August</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-70"><span class="mw-cite-backlink"><b><a href="#cite_ref-70">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.sata-io.org/technology/6Gbdetails.asp">"SATA 6Gb/s"</a>. Serial ATA International Organization<span class="reference-accessdate">. Retrieved <span class="nowrap">26 September</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-71"><span class="mw-cite-backlink"><b><a href="#cite_ref-71">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/library/windows/hardware/jj134356.aspx">"Device.Storage Requirements (Windows)"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">29 February</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-72"><span class="mw-cite-backlink"><b><a href="#cite_ref-72">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160405130623/http://www.t13.org/Documents/UploadedDocuments/docs2013/d2161r5-ATAATAPI_Command_Set_-_3.pdf">"T13/2161-D: Information technology – ATA/ATAPI Command Set – 3 (ACS-3)"</a> <span class="cs1-format">(PDF)</span>. <i>T13.org</i>. Archived from <a rel="nofollow" class="external text" href="http://www.t13.org/Documents/UploadedDocuments/docs2013/d2161r5-ATAATAPI_Command_Set_-_3.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 5 April 2016<span class="reference-accessdate">. Retrieved <span class="nowrap">29 February</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-73"><span class="mw-cite-backlink"><b><a href="#cite_ref-73">^</a></b></span> <span class="reference-text"><cite id="CITEREFMotin2011" class="citation web cs1">Motin, Alexander (24 December 2011). <a rel="nofollow" class="external text" href="https://lists.freebsd.org/pipermail/freebsd-current/2011-December/030714.html">"RFC: SCSI UNMAP (TRIM) support"</a>. <i>Lists.freebsd.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">7 November</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-74"><span class="mw-cite-backlink"><b><a href="#cite_ref-74">^</a></b></span> <span class="reference-text">NVM Command Set
Specification 1.1 <a rel="nofollow" class="external free" href="https://nvmexpress.org/wp-content/uploads/NVM-Express-NVM-Command-Set-Specification-Revision-1.1-2024.08.05-Ratified.pdf">https://nvmexpress.org/wp-content/uploads/NVM-Express-NVM-Command-Set-Specification-Revision-1.1-2024.08.05-Ratified.pdf</a></span>
</li>
<li id="cite_note-75"><span class="mw-cite-backlink"><b><a href="#cite_ref-75">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://asalor.blogspot.com/2011/08/trim-dm-crypt-problems.html">"Milan Broz's blog: TRIM & dm-crypt ... problems?"</a>. Milan Broz. 14 August 2011<span class="reference-accessdate">. Retrieved <span class="nowrap">1 October</span> 2014</span>.</cite></span>
</li>
<li id="cite_note-76"><span class="mw-cite-backlink"><b><a href="#cite_ref-76">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://i.blackhat.com/eu-18/Thu-Dec-6/eu-18-Schaub-Perfectly-Deniable-Steganographic-Disk-Encryption.pdf">"Perfectly Deniable Steganographic Disk Encryption"</a> <span class="cs1-format">(PDF)</span>. <i>I.blackhat.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">7 November</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-77"><span class="mw-cite-backlink"><b><a href="#cite_ref-77">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.sata-io.org/technology/6Gbdetails.asp">"The Path from 3Gb/s to SATA 6Gb/s: How to Migrate Current Designs to the SATA Revision 3.0 Specification"</a>. <i>Sata-io.org</i>. 27 May 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">7 November</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-78"><span class="mw-cite-backlink"><b><a href="#cite_ref-78">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://techreport.com/news/21311/sata-3-1-spec-brings-swap-standard-improved-trim">"SATA 3.1 spec brings swap standard, improved TRIM"</a>. <i>The Tech Report</i>. 18 July 2011.</cite></span>
</li>
<li id="cite_note-M500-79"><span class="mw-cite-backlink"><b><a href="#cite_ref-M500_79-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://bugzilla.kernel.org/show_bug.cgi?id=71371">"71371 [PATCH]Crucial M500, broken "queued TRIM" support"</a>. <i>bugzilla.kernel.org</i>.</cite></span>
</li>
<li id="cite_note-80"><span class="mw-cite-backlink"><b><a href="#cite_ref-80">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://bugs.launchpad.net/bugs/1449005">"Bug #1449005 trim does not work with Samsung 840 EVO after firm... : Bugs : fstrim package : Ubuntu"</a>. <i>Launchpad</i>. 27 April 2015.</cite></span>
</li>
<li id="cite_note-81"><span class="mw-cite-backlink"><b><a href="#cite_ref-81">^</a></b></span> <span class="reference-text"><cite id="CITEREFtorvalds" class="citation web cs1">torvalds. <a rel="nofollow" class="external text" href="https://github.com/torvalds/linux/blob/e64f638483a21105c7ce330d543fa1f1c35b5bc7/drivers/ata/libata-core.c#L4109-L4286">"linux/libata-core.c at e64f638483a21105c7ce330d543fa1f1c35b5bc7 · torvalds/linux · GitHub"</a>. <i>GitHub</i>.</cite></span>
</li>
<li id="cite_note-libata-core.c-82"><span class="mw-cite-backlink">^ <a href="#cite_ref-libata-core.c_82-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-libata-core.c_82-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-libata-core.c_82-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFtorvalds" class="citation web cs1">torvalds. <a rel="nofollow" class="external text" href="https://github.com/torvalds/linux/blob/master/drivers/ata/libata-core.c">"linux/libata-core.c at master · torvalds/linux · GitHub"</a>. <i>GitHub</i>.</cite></span>
</li>
<li id="cite_note-83"><span class="mw-cite-backlink"><b><a href="#cite_ref-83">^</a></b></span> <span class="reference-text"><cite id="CITEREFtorvalds" class="citation web cs1">torvalds. <a rel="nofollow" class="external text" href="https://github.com/torvalds/linux/commit/cda57b1b05cf7b8b99ab4b732bea0b05b6c015cc">"libata: force disable trim for SuperSSpeed S238 · torvalds/linux@cda57b1"</a>. <i>GitHub</i>.</cite></span>
</li>
<li id="cite_note-84"><span class="mw-cite-backlink"><b><a href="#cite_ref-84">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://patchwork.ozlabs.org/project/linux-ide/patch/1415336894-15327-2-git-send-email-martin.petersen@oracle.com/">"[1/3] libata: Whitelist SSDs that are known to properly return zeroes after TRIM - Patchwork"</a>. <i>patchwork.ozlabs.org</i>.</cite></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20100227234254/http://www.devwhy.com/blog/2009/8/4/from-write-down-to-the-flash-chips.html"><i>From write() down to flash chips</i></a> – An explanation on how the TRIM command lets SSDs erase data not used by the filesystem</li>
<li><a rel="nofollow" class="external text" href="http://www.maximumpc.com/article/features/white_paper_trim_command"><i>TRIM Command White Paper</i></a> – A white paper explaining the command's purpose and actions</li>
<li>Fusion-io Patent <a rel="nofollow" class="external text" href="https://patents.google.com/patent/US8706968?oq=%22Fusion-io%22+trim">"Apparatus, system, and method for redundant write caching"</a></li>
<li><a rel="nofollow" class="external text" href="https://kaleron.edu.pl/TRIM-in-SSD-and-SMR-discs.php"><i>TRIM in SSD and SMR discs</i></a> – about TRIM function in SSD and SMR drives</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Solid-state_drives316" style="padding:3px"><table class="nowraplinks hlist mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Solid-state_drives316" style="font-size:114%;margin:0 4em"><a href="Solid-state_drive" title="Solid-state drive">Solid-state drives</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Key terminology</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Encryption" title="Encryption">Encryption</a></li>
<li><a href="Error_detection_and_correction" title="Error detection and correction">ECC</a></li>
<li><a href="Flash_file_system" title="Flash file system">Flash file system</a></li>
<li><a href="Flash_memory" title="Flash memory">Flash memory</a></li>
<li><a href="Multi-level_cell" title="Multi-level cell">SLC/MLC</a></li>
<li><a href="Flash_memory_controller" title="Flash memory controller">Flash memory controller</a></li>
<li><a href="Garbage_collection_(SSD)" class="mw-redirect" title="Garbage collection (SSD)">Garbage collection</a></li>
<li><a href="IOPS" title="IOPS">IOPS</a></li>
<li><a href="Bit_rate" title="Bit rate">MB/s</a></li>
<li><a href="Flash_memory#Memory_wear" title="Flash memory">Memory wear</a></li>
<li><a href="Open-channel_SSD" title="Open-channel SSD">Open-channel SSD</a></li>
<li><a href="Write_amplification#Over-provisioning" title="Write amplification">Over-provisioning</a></li>
<li><a href="Flash_memory#Read_disturb" title="Flash memory">Read disturb</a></li>
<li><a href="Write_amplification#Secure_erase" title="Write amplification">Secure erase</a></li>
<li><a href="Solid-state_storage" title="Solid-state storage">Solid-state storage</a></li>
<li><a href="Wear_leveling" title="Wear leveling">Wear leveling</a></li>
<li><a href="Write_amplification" title="Write amplification">Write amplification</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Flash manufacturers</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Micron_Technology" title="Micron Technology">Micron</a></li>
<li><a href="Samsung_Electronics" title="Samsung Electronics">Samsung</a></li>
<li><a href="SK_Hynix" title="SK Hynix">SK Hynix</a>
<ul><li>Bought <a href="Intel" title="Intel">Intel</a>'s NAND flash chips and NAND flash SSD businesses and renamed the SSD business as Solidigm</li></ul></li>
<li>Flash Forward (joint venture between <a href="Sandisk" title="Sandisk">Sandisk</a> and <a href="Kioxia" title="Kioxia">Kioxia</a>)</li>
<li><a href="Yangtze_Memory_Technologies" title="Yangtze Memory Technologies">YMTC</a>
<ul><li><a href="XMC_(company)" title="XMC (company)">XMC</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_flash_memory_controller_manufacturers" title="List of flash memory controller manufacturers">Controllers</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Captive</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Sandisk" title="Sandisk">Sandisk</a>
<ul><li><a href="Western_Digital" title="Western Digital">Western Digital</a></li>
<li><a href="Fusion-io" title="Fusion-io">Fusion-io</a></li>
<li><a href="HGST" title="HGST">HGST</a></li>
<li><a href="STec" title="STec">sTec</a></li></ul></li>
<li><a href="Kioxia" title="Kioxia">Kioxia</a>
<ul><li><a href="OCZ" title="OCZ">OCZ</a> (bankrupt, assets sold to Toshiba, which later spun off its SSD and flash business to Kioxia)</li>
<li><a href="Indilinx" title="Indilinx">Indilinx</a> (bought by OCZ)</li></ul></li>
<li><a href="Micron_Technology" title="Micron Technology">Micron</a></li>
<li><a href="Samsung_Electronics" title="Samsung Electronics">Samsung</a></li>
<li><a href="Seagate_Technology" title="Seagate Technology">Seagate</a>
<ul><li><a href="SandForce" title="SandForce">SandForce</a></li></ul></li>
<li><a href="SK_Hynix" title="SK Hynix">SK Hynix</a>
<ul><li>Bought <a href="Intel" title="Intel">Intel</a>'s NAND flash chips and NAND flash SSD businesses including controllers and renamed the SSD business Solidigm</li></ul></li>
<li>FADU</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Independent</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Greenliant_Systems" title="Greenliant Systems">Greenliant Systems</a></li>
<li>Goke</li>
<li><a href="JMicron" title="JMicron">Maxiotek</a></li>
<li><a href="Marvell_Technology_Group" class="mw-redirect" title="Marvell Technology Group">Marvell</a></li>
<li><a href="Phison" title="Phison">Phison</a></li>
<li><a href="PMC-Sierra" title="PMC-Sierra">PMC-Sierra</a></li>
<li><a href="Silicon_Motion" title="Silicon Motion">SMI</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">SSD manufacturers</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="List_of_solid-state_drive_manufacturers" title="List of solid-state drive manufacturers">List of solid-state drive manufacturers</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Interfaces</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Advanced_Host_Controller_Interface" title="Advanced Host Controller Interface">Advanced Host Controller Interface</a> (AHCI)</li>
<li><a href="Fibre_Channel" title="Fibre Channel">Fibre Channel</a> (FC)</li>
<li><a href="NVM_Express" title="NVM Express">NVM Express</a> (NVMe)</li>
<li><a href="PCI_Express" title="PCI Express">PCI Express</a> (PCIe)</li>
<li><a href="SATA_Express" title="SATA Express">SATA Express</a></li>
<li><a href="Serial_ATA" class="mw-redirect" title="Serial ATA">Serial ATA</a> (SATA)</li>
<li><a href="Serial_attached_SCSI" class="mw-redirect" title="Serial attached SCSI">Serial attached SCSI</a> (SAS)</li>
<li><a href="USB" title="USB">Universal Serial Bus</a> (USB)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Configurations</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Hard_disk_drive#Form_factors" title="Hard disk drive">HDD form factors</a></li>
<li><a href="MSATA" class="mw-redirect" title="MSATA">mSATA</a></li>
<li><a href="M.2" title="M.2">M.2</a></li>
<li><a href="PCI_Express" title="PCI Express">PCI Express</a> <a href="Expansion_card" title="Expansion card">expansion card</a></li>
<li><a href="Thunderbolt_(interface)" title="Thunderbolt (interface)">Thunderbolt</a>
<ul><li><a href="USB-C" title="USB-C">USB Type-C</a></li></ul></li>
<li><a href="U.2" title="U.2">U.2</a></li>
<li><a href="U.3" class="mw-redirect" title="U.3">U.3</a></li>
<li><a href="EDSFF" class="mw-redirect" title="EDSFF">EDSFF</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related organizations</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="International_Committee_for_Information_Technology_Standards" title="International Committee for Information Technology Standards">INCITS</a></li>
<li><a href="JEDEC" title="JEDEC">JEDEC / JC-42, JC-64.8</a></li>
<li><a href="Open_NAND_Flash_Interface_Working_Group" title="Open NAND Flash Interface Working Group">ONFI</a></li>
<li><a href="NVM_Express#History" title="NVM Express">NVMHCI Work Group</a></li>
<li><a href="USB_Implementers_Forum" title="USB Implementers Forum">USB-IF</a></li>
<li><a href="Serial_ATA_International_Organization" title="Serial ATA International Organization">SATA-IO</a></li>
<li><a href="Small_Form_Factor_Committee" title="Small Form Factor Committee">SFF Committee</a></li>
<li><a href="Storage_Networking_Industry_Association" title="Storage Networking Industry Association">SNIA</a></li>
<li><a href="Solid_state_storage_initiative" class="mw-redirect" title="Solid state storage initiative">SSSI</a></li>
<li><a href="SCSI" title="SCSI">T10/SCSI</a></li>
<li><a href="Fibre_Channel" title="Fibre Channel">T11/FC</a></li>
<li><a href="Parallel_ATA" title="Parallel ATA">T13/ATA</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> <b>Category</b></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-08-06" href="https://en.wikipedia.org/wiki/?title=Trim_(computing)&oldid=1304464996">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>